Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Reconcile keyboarding in desktop proposal doc #5590

Merged
merged 1 commit into from
Aug 24, 2020

Conversation

harinikmsft
Copy link
Contributor

@harinikmsft harinikmsft commented Jul 24, 2020

Adding the doc to the repo for broader review and tracking.

This addresses the PM design/POR part of #4346

Microsoft Reviewers: Open in CodeFlow

Adding the doc to the repo for broader review and tracking.
@harinikmsft harinikmsft requested a review from a team as a code owner July 24, 2020 21:03
@lyahdav
Copy link
Collaborator

lyahdav commented Aug 6, 2020

Will this work include TypeScript support for the keyboard props or should I capture that in a separate GH issue? For context we currently have a lot of // @ts-ignore in our codebase which would be nice to remove on props like acceptsKeyboardFocus.

@NickGerleman
Copy link
Collaborator

Will this work include TypeScript support for the keyboard props or should I capture that in a separate GH issue? For context we currently have a lot of // @ts-ignore in our codebase which would be nice to remove on props like acceptsKeyboardFocus.

acceptsKeyboardFocus specifically is a bit funky. Core added a comparable focusable property in 0.62 that we support on Windows as of 0.63. That exists in official typings now, and we plan to remove support for acceptsKeyboardFocus shortly. Windows does have a concept of ViewWindows which exposes typings for Windows specific view props (including acceptsKayboardFocus). I don't think it's quite comprehensive though, and don't believe Mac has an equivalent yet.


## Default keyboarding behaviors on JS components

Both Windows and macOS implementations have added appropriate keyboarding defaults to JS components like Button, Touchables. The implementation includes firing onPress() callbacks on Button and Touchable components when they are in focus and Enter/Space key is pressed. The work remaining for these include:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@harinikmsft @rectified95 Open question about this that comes from an issue of our own implementation right now. PressEvent exposes bits like pointer coordinates that KeyEvents won't have. How do we reconcile these?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.